package com.example.demo.dao;



import com.example.demo.entity.PO.PropPO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author zhangjingqi
 * @date 2023/11/20
 */
@Mapper
public interface PropMapper {


	/**
	 * 添加prop
	 * @param propPO prop信息对象
	 * @return 插入影响的行数
	 */
	int saveProp(PropPO propPO);

	/**
	 * 通过userId查prop
	 * @param userId
	 * @param type 道具类型，可为null
	 * @return
	 */
	List<PropPO> getPropsByUserId(Integer userId, Integer type);

	PropPO getPropByPropId(Integer userId, Integer propId);

	/**
	 * 更新prop数量
	 * @param userId 用户id
	 * @param propId 道具id
	 * @param updateAmount 更新数量,正数为增加，负数为减少
	 * @param updatedAt 更新时间
	 * @return 更新影响的行数
	 */
	int updatePropAmount(Integer userId, Integer propId, Integer updateAmount, Long updatedAt);

}
